package Demo.Book;

import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.TreeSet;

/**
 * @author zhuyipeng
 * @description
 * @copyright 大靓仔进击之路
 * @createDate 2023/10/20 22:12
 */
public class Test {

    public static Boolean isPrime(int n){
        if (n == 2){
            return true;
        }
        for (int i = 2; i < Math.sqrt(n); i++) {
            if (n % i == 0){
                return false;
            }
        }
        return true;
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()){
            int count = 0;
            int n = scanner.nextInt();
            if (isPrime(n)){
                //判断输入的数是否为素数，如果为素数，直接打印1，并且跳过此次循环
                System.out.println(1);
                continue;
            }
            //输入的数为非素数
            for (int i = 2; i < Math.sqrt(n); i++) {
                if(isPrime(i)){
                    if (n % i == 0){//如果i为素数，且i可以被n整除，此时就算作一个
                        count++;
                        while (n % i == 0){//看n是否可以除尽i，一直除到n不可以整除i
                            n /= i;
                        }
                        //此时看n是否为1
                        if (n == 1){
                            System.out.println(count);
                            break;//跳出整个循环
                        }
                        //走到这，说明n此时还不为1
                        if (isPrime(n)){
                            //判断n是否为素数，是素数，则count++
                            count++;
                            System.out.println(count);
                            break;
                        }
                    }
                }
            }
        }
    }

}

